An MDA Approach to Tame Component Based Software Development
نویسندگان
چکیده
The aim of this paper is to show how the Model Driven Architecture (MDA) can be used in relation with component based software engineering. A software component only exhibits its provided or required interfaces, hence defining basic contracts between components allowing one to properly wire them. These contractually specified interfaces should go well beyond mere syntactic aspects: they should also involve functional, synchronization and Quality of Service (QoS) aspects. In large, mission-critical component based systems, it is also particularly important to be able to explicitly relate the QoS contracts attached to provided interfaces with the QoS contracts obtained from required interfaces. We thus introduce a QoS contract model (called QoSCL for QoS Constraint Language), allowing QoS contracts and their dependencies to be modeled in a UML2.0 modeling environment. Building on Model Driven Engineering techniques, we then show how the very same QoSCL contracts can be exploited for (1) validation of individual components, by automatically weaving contract monitoring code into the components; and (2) validation of a component assembly, including getting end-toend QoS information inferred from individual component contracts, by automatic translation to a Constraint Logic Programming language. We illustrate our approach with the example of a GPS (Global Positioning System) software component, from its functional and contractual specifications to its implementation in a .Net framework.
منابع مشابه
Research on an MDA Based COP Approach 1
Object-Oriented Programming (OOP) has some weaknesses in that it does not always produce reusable software and is not suitable for a large project and does not support the complete encapsulation of classes due to the inheritance of subclasses. As an evolutionary method of OOP, Component-Oriented Programming (COP) or Component-Based Development (CBD) has recently been hot issues for the Software...
متن کاملWhat do we do with re-use in MDA?
MDA seems to be one of the most promising approaches for designing and developing software applications. It provides the right kinds of abstractions and mechanisms for improving the way applications are built nowadays: in MDA, software development becomes model transformation. MDA also seems to suggest a top-down development process, whereby PIMs are progressively transformed into PSMs until a ...
متن کاملAn Agile MDA Approach for Service-Oriented Components
Two important principles that drive the agile MDA processes are immediate execution and test first development. This paper presents a component model, called iComponent, that allows the development of executable models based on agile principles and service orientation. In order to ensure simple and fast definition of component operations, we use a concrete syntax for UML structured activities a...
متن کاملProductivity Evaluation of Self-Adaptive Software Model Driven Architecture
Anticipating context changes using a model-based approach requires a formal procedure for analysing and modelling context-dependent functionality and stable description of the architecture which supports dynamic decision-making and architecture evolution. This article demonstrates the capabilities of the context-oriented component-based application model-driven architecture (COCA-MDA) to suppor...
متن کاملSoftware Evolution, MDA and Design Pattern Components
The success of MDA depends on the definition of model transformations and component libraries which make a significant impact on tools that provide support for MDA. MDA is a young approach and several technical issues are not adequately addressed. For instance, existing MDA-based CASE tools do not provide adequate support to deal with component-based reuse (CASE, 2009). In light of this, we pro...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003